﻿
namespace SwtorCalculator {
    using System;

    /// <summary>
    /// class.pc.trooper / .bounty_hunter - aim_gives_tech
    ///     class.pc.advanced.commando / .advanced.mercenary - aim_gives_tec - aim_gives_heal
    ///     class.pc.advanced.specialist / .advanced.powertech - aim_gives_tec
    /// </summary>
    internal class TrooperHunterStats : Stats {
        /// <summary>
        /// Initializes a New Instance of the TrooperHunterStats Class
        /// </summary>
        internal TrooperHunterStats() : this( 50 ) { }

        /// <summary>
        /// Initializes a New Instance of the TrooperHunterStats Class
        /// </summary>
        /// <param name="lvl">Character Level</param>
        internal TrooperHunterStats( int lvl ) {
            Level = lvl;
            ArmorStat = 0;
        }

        /// <summary>
        /// Players base Aim
        /// (Primary Stat)
        /// </summary>
        internal override int AimBase {
            get { return getPrimaryStat(); }
        }

        /// <summary>
        /// Players base Cunning
        /// (Weak Stat)
        /// </summary>
        internal override int CunningBase {
            get { return getWeakStat(); }
        }

        /// <summary>
        /// Characters Bonus Tech Damage
        /// </summary>
        internal override int TechBonusStats {
            get { return (int)Math.Floor( ( double )( CunningTotal + AimTotal ) * BONUS_DMG_MOD ); }
        }

        /// <summary>
        /// Characters Tech Crit Chacne from Stats
        /// </summary>
        internal override double TechCritStats {
            get { return Math.Round( (double)( CunningTotal + AimTotal ) / BONUS_CRIT_MOD / 10000, 4 ); }
        }
    }
}
